html, body {
  margin: 0;
}

button {
  -webkit-user-select: none;
}
button:active, button:focus,
input:active, input:focus {
  outline: none;
}

.app {
  display: flex;
  height: 100vh;
}
.app > * {
  width: 100vw;
}
.app.split > .react-codemirror2,
.app.split > .preview {
  width: 50vw;
}
.app.onlypreview > .react-codemirror2 {
  display: none;
}
.app.onlyeditor > .preview {
  display: none;
}

@media (max-width: 900px) {
  /* small window and split view */
  .app.split .CodeMirror {
    font-size: 15px;
  }
  .app.split .CodeMirror-lines {
    padding-left: 15px;
    padding-right: 15px;
  }
}
@media (max-width: 500px) {
  /* even smaller window */
  div.CodeMirror {
    font-size: 15px;
  }
  div.CodeMirror-lines {
    padding-left: 15px;
    padding-right: 15px;
  }
}

@media (min-width: 1000px) {
  /* large screen */
  .app.onlyeditor .CodeMirror {
    font-size: 19px;
  }
}


.react-codemirror2 {
  background-color: #f7f7f7;
}

.preview {
  overflow: hidden;
  position: relative;
  border-left: 1px solid lightgrey;
}
.preview.paginated > .previewDiv {
  background-color: grey;
}
.preview iframe {
  border: 0;
  position: absolute;
}
.preview > button {
  width:  36px;
  height: 36px;
  border-radius: 18px;
  box-shadow: 0 1px rgba(0, 0, 0, .039);
  transition: opacity 0.2s ease-out;
  opacity: 0;
}
.preview > button:active {
  background: lightgrey;
}
.preview:hover > button {
  transition: opacity 0.12s ease-in;
  opacity: 1;
}
.zoomBtn, .exportBtn {
  position: absolute;
  bottom: 10px;
  right:  10px;
  font-size: 27px;
  background: #f7f7f7;
  border: 0;
  cursor: pointer;
  line-height: 1;
  display: block;
}
.zoomIn {
  bottom: 55px;
}
.exportBtn {
  bottom: 100px;
  font-family: sans-serif;
  font-size: 20px;
}
